草庐IT

PHP readdir 和排序

全部标签

PHP:我有一个关联数组(int => object),想对它进行排序

classDownTime{public$total,$longest,$count;}我有一个关联数组(键是一个id,值是DownTime对象)。我想按照$total排序我读过PHP:SortingArrays以及关于stackoverflow的一些其他问题。我明白了uasort会做的很好。但是,作为OOP方法,我更愿意在DownTime类中定义一个特殊函数(例如在C++中定义operator,或在Java中实现Comparable.compareTo()),而不是在调用某些排序函数时传递一个函数。 最佳答案 您可以在DownTi

php - 根据 2 个参数对对象数组进行分组和排序

我有一组对象,我想根据一个属性对其进行排序,然后根据另一个属性将其“组合在一起”。在下面的示例中,我希望它们根据$sequence排序,并根据$artist分组。//我的类(class)的精简版:sequence=$sequence;$this->artist=$artist;}staticfunctioncmp_myclass_sequence($a,$b){$a_seq=$a->sequence;$b_seq=$b->sequence;if($a_seq==$b_seq){return0;}return($a_seq>$b_seq)?+1:-1;}staticfunctioncmp

php - 排序、搜索(过滤)、分页 HTML 表格

我想对HTML表格进行排序、分页和搜索(基于列搜索)。我正在查看各种JQuery插件,例如DataTable,表格分类器,PicnetTableFilter等,但我找不到任何插件可以完成所有3项工作(搜索、排序和分页)。我在PHPYiiFramework中看到过这样的表格,但它们有自己的CSS,然后我将不得不用Yii转换我重写的整个项目。DataTable确实有一个过滤器选项,但它会在所有列中搜索一个值。我想要的是只在一列中搜索。我不确定我是否能够使用DataTable做到这一点。有谁知道是否有任何JQuery插件用于此或任何其他方法来执行此操作 最佳答案

php - 数字对具有混合类型值的数组进行排序

我有一个这样的混合数组:$fruits=array("lemon","Lemon",20,"banana","apple","121",40,50);然后对其应用sort()函数,如下所示:sort($fruits,SORT_NUMERIC);foreach($fruitsas$key=>$val){echo"fruits[".$key."]=".$val."\n";}现在,我不明白输出是:fruits[0]=applefruits[1]=lemonfruits[2]=bananafruits[3]=Lemonfruits[4]=20fruits[5]=40fruits[6]=50fr

php - 基于数组对数组进行排序 - php

我有一个名为$heroes的super英雄数组:$heroes=array("Hulk","Spiderman","IronMan");我有一组名为$powers的基本权力:$powers=array("Strong","Webs","Machine");我想按字母顺序对$heroes数组进行排序,以便显示如下:$heroes=array("Hulk","IronMan","Spiderman");有了这个,我希望根据$heroes数组对权力进行排序,以便它显示:$powers=array("Strong","Machine","Webs");我不想使用二维数组-我需要它们位于单独的数

php - 计算自然排序值以存储在数据库中以进行字符串排序

下面是一些字符串的例子(主要是地址):122043-B43-C1232500现在我将它们按照我认为“正确”的顺序排列。如果我将这些值放在数据库表的列中并在MySQL搜索中返回这些值,我会得到:1212320250043-B43-C显然这是不正确的--20不大于123。如果我能保证该值由纯整数组成,那么很容易弄清楚这一点,但是当您输入43-B和43-C(或甚至12A或其他),那么我们就会开始遇到问题。但是,我不能简单地删除数字!我现在不完全确定它代表什么,但我确实有40W1之类的值。就个人而言,我会将其排序在40以下而不是4000以下,但这是一种非常罕见的边缘情况,所以我不太担心这个特定

php - 对月份进行排序,使它们连续排列

我有一个月份数组(数字,1-12),我想在一个was中排序,这将构成最大的连续序列。一个例子:数组(1,2,3):很简单,就是一月到三月,不需要排序数组(1,2,11,12):这可能是一个连续的序列,从11月到2月,所以它应该按11,12,1,2排序数组(1,4,5,11,12):这应该是4月到5月,11月到1月,所以它应该分成两部分:4,5和11,12,1有什么办法吗? 最佳答案 查看您的数据,我们发现以下先决条件:最大范围是1到12。输入已排序,因此是有序的。只有一个地方会发生环绕:从12到1。考虑到这一点,我们可以说:第一个值

php - 按另一个数组键对数组值进行排序

我有2个数组:Array([field_bathrooms]=>Bathrooms[field_bedrooms]=>Bedrooms[field_king_beds]=>KingBeds[field_kitchen]=>Kitchen[field_queen_beds]=>QueenBeds[field_sleeps_max]=>Sleeps[field_sofa_beds]=>SofaBeds[field_sqft]=>SquareFootage[field_twin_beds]=>TwinBeds)Array([0]=>Bathrooms[1]=>SquareFootage[2]

PHP 数组按父级排序

我有一个复杂的数组需要排序,它看起来像这样:Array([0]=>Array([id]=>1171409310[parent]=>1171287657[createdAt]=>2013-12-20T12:42:19)[1]=>Array([id]=>1171360372[parent]=>1171313704[createdAt]=>2013-12-20T11:18:46)[2]=>Array([id]=>1171313704[parent]=>1171304353[createdAt]=>2013-12-20T10:14:46)[3]=>Array([id]=>1171304353[

php - 使用 Uasort 对多维数组进行排序

目前我有一些看起来像这样的多维数组Array([71]=>Array([author]=>2[date]=>1392867376)[49]=>Array([author]=>2[date]=>1392868188)[75]=>Array([author]=>14[date]=>1392867388)[67]=>Array([author]=>2[date]=>1392870805))我想按“日期”对它们进行排序,但我不知道如何排序。我试过这个:functioncmp($a,$b){if($a==$b){return0;}return($a但由于我不知道,也找不到关于如何使用“比较功能”